/*
 * @moduleName: 这个文件是用来配置查询条件的。
 * @Desc: 如果A程序员写个新增页面 就需要一个A配置 B程序员写的话也是同样的原理...新建个[name].formQuerySchema.js文件
 * 这个配置文件也是可以从后台请求来的呦，是不是又强大了很多？也可以是前端人员自己手撸....自行根据项目情况选择...
 * @Author: djkloop
 * @Date: 2017-11-28 15:53:54
 * @Last Modified by: djkloop
 * @Last Modified time: 2017-12-04 12:49:55
 */
import React from 'react';
import {Icon} from 'antd';
module.exports = [
  {
    key: 'name',
    title: '用户名',
    placeholder: '请输入用户名', // 提示用户输入什么
    dataType: 'String', // 如果从传过来的有默认值 那就是String类型
    showType: 'normal', // 目前可用的showType: normal/select/radio/between/checkbox/multiSelect/cascader
    addonCefore: (<Icon type="user"/>), // 对于一些String类型的可以设置一些前置标签或者后置标签
    // defaultValue: 'footerbar' // 有些页面一上来就有默认值
  },
  {
    key: 'blog',
    title: 'BLOG',
    placeholder: '请输入博客网址...',
    dataType: 'String',
    showType: 'normal',
    addonBefore: 'http://',
    addonAfter: 'github.io',
    // defaultValue: 'djkloop'
  },
  {
    key: 'age',
    title: '年龄',
    placeholder: '请输入您的年龄...',
    dataType: 'Number',
    defaultValue: 18,
    // 这个数字类型的一般会有最大值最小值
    min: 0,
    max: 30
  },
  {
    key: 'weight',
    title: '体重(kg)',
    dataType: 'float',
    // drfaultValue: 50.11,
    min:0,
    max: 99.99
  },
  {
    key: 'type',
    title: '类型',
    dataType: 'Number',
    showType: 'select',
    options: [
      {
        key: '1',
        value: '类型1'
      },
      {
        key: '2',
        value: '类型2'
      }
    ],
    // defaultValue: '1'
  },
  {
    key: 'userType',
    title: '用户类型',
    dataType: 'String',
    showType: 'radio',
    options: [
      {
        key: 'typeA',
        value: '类型A'
      },
      {
        key: 'typeB',
        value: '类型B'
      }
    ],
    // defaultValue: 'typeB'
  },
  {
    key: 'score',
    title: '分数',
    dataType: 'Number',
    showType: 'between',
    // defaultValueBegin: 9,
    // defaultValueEnd: 99
  },
  {
    key: 'gpa',
    title: 'GPA',
    dataType: 'float',
    showType: 'between',  // 小数也可以范围查询, 固定两位小数
    placeholderBegin: '哈哈',  // 对于范围查询, 可以定义placeholderBegin和placeholderBegin, 用于两个框的提示语
    placeholderEnd: '切克闹',  // 如果不定义, 对于int/float的范围查询, 提示语是"最小值"/"最大值", 对于日期的范围查询, 提示语是"开始日期"/"结束日期"
    // defaultValueEnd: 99.9,
  },
  {
    key: 'height',
    title: '身高(cm)',
    placeholder: '哈哈哈',
    dataType: 'float',  // 小数等值查询
  },
  {
    key: 'duoxuan1',
    title: '多选1',
    dataType: 'int',  // 跟select一样, 这里的值其实也可以是int/float/varchar/datetime
    showType: 'checkbox',  // checkbox
    options: [{key: '1', value: '类型1'}, {key: '2', value: '类型2'}],  // 同样注意, option的key必须是字符串
    // defaultValue: ['1', '2'], // 多选的defaultValue是个数组
  },
  {
    key: 'duoxuan2',
    title: '多选2',
    dataType: 'varchar',
    showType: 'multiSelect',  // 另一种多选
    options: [{key: 'type1', value: '类型1'}, {key: 'type2', value: '类型2'}],
    // defaultValue: ['type1'],
  },
  {
    key: 'work',
    title: '工作年限',
    dataType: 'int',
    min: 3,
  },
  {
    key: 'duoxuan3',
    title: '多选3',
    dataType: 'varchar',
    showType: 'multiSelect',
    options: [{key: 'K', value: '开'}, {key: 'F', value: '封'}, {key: 'C', value: '菜'}],
    // defaultValue: ['K', 'F', 'C'],
  },
  {
    key: 'primarySchool',
    title: '入学日期',
    dataType: 'datetime',  // 日期范围查询, 日期范围查询占用的显示空间会很大, 注意排版
    showType: 'between',
    // defaultValueBegin: '2016-01-01 12:34:56',  // 注意日期类型defaultValue的格式
    // defaultValueEnd: '2016-12-01 22:33:44',
  },
  {
    key: 'birthday',
    title: '出生日期',
    dataType: 'datetime',
    showType: 'between',
    // defaultValueBegin: '2016-01-01 12:34:56',
  },
  {
    key: 'xxbirthday',
    title: 'XX日期',
    dataType: 'datetime',  // 日期等值查询
  },
]